<?php

namespace app\index\logic;

/**
 * 逻辑层基类
 * 提供通用的逻辑层方法和属性
 */
abstract class BaseLogic
{
    /**
     * 错误信息
     * @var string
     */
    protected $error = '';

    /**
     * 获取错误信息
     * @return string
     */
    public function getError(): string
    {
        return $this->error;
    }

    /**
     * 设置错误信息
     * @param string $error
     * @return void
     */
    protected function setError(string $error): void
    {
        $this->error = $error;
    }

    /**
     * 验证参数是否为空
     * @param array $params 参数数组
     * @param array $required 必填字段
     * @return bool
     */
    protected function validateParams(array $params, array $required): bool
    {
        foreach ($required as $field) {
            if (!isset($params[$field]) || empty($params[$field])) {
                $this->setError("参数 {$field} 不能为空");
                return false;
            }
        }
        return true;
    }
}
